package ro.inf.bomberman;

import java.awt.Graphics;
import java.awt.Image;

/**
 * Ermöglicht das Zeichnen von einzelnen Grafiken aus dem DrawCache. Anmerkung:
 * Entnommen aus einem Tutorial von Kevin Glass
 *
 * @author Michi
 */
public class Sprite {

    private Image image;

    /**
     * Anlegen einer neuen Grafik an Hand einer Grafik aus dem Store.
     *
     * @param image Die Grafik die zum Zeichnen verwendet werden soll.
     */
    public Sprite(Image image) {
        this.image = image;
    }

    /**
     * Gibt die Breite der gezeichneten Grafik zurück.
     *
     * @return int Breite der gezeichneten Grafik
     */
    public int getWidth() {
        return image.getWidth(null);
    }

    /**
     * Gibt die Höhe der gezeichneten Grafik zurück.
     *
     * @return int Höhe der gezeichneten Grafik
     */
    public int getHeight() {
        return image.getHeight(null);
    }

    /**
     * Zeichne das Bild auf das Spielfeld.
     *
     * @param g Graphics2D Das Spielfeld auf das gezeichnet werden soll.
     * @param x int Die X-Koordinate an die die Grafik gezeichnet werden soll.
     * @param y int Die Y-Koordinate an die die Grafik gezeichnet werden soll.
     */
    public void draw(Graphics g, int x, int y) {
        g.drawImage(image, x, y, null);
    }
}